重构与代码整洁之道

📚 共计 30 章节
第1章
重构的定义与意义
什么是重构 · 为什么需要重构 · 重构与性能优化的区别
核心概念入门
第2章
代码坏味道(上)
神秘命名 · 重复代码 · 过长函数 · 过长参数列表
坏味道识别
第3章
代码坏味道(下)
全局数据 · 可变数据 · 发散式变化 · 霰弹式修改 · 依恋情结
坏味道进阶
第4章
重构原则
何时重构 · 何时不重构 · 重构的节奏与流程
原则节奏
第5章
测试的重要性
自测试代码 · 单元测试框架 · 测试驱动开发(TDD)入门
测试TDD
第6章
第一组重构(上)
提炼函数 · 内联函数 · 提炼变量 · 内联变量
重构手法基础
第7章
第一组重构(下)
改变函数声明 · 封装变量 · 变量改名 · 引入参数对象
重构手法进阶
第8章
封装(上)
封装记录 · 封装集合 · 以对象取代基本类型
封装数据
第9章
封装(下)
以查询取代临时变量 · 提炼类 · 将类内联化 · 隐藏委托关系
封装委托
第10章
搬移特性(上)
搬移函数 · 搬移字段 · 搬移语句到函数内/外
搬移特性
第11章
搬移特性(下)
以函数调用取代内联代码 · 移动语句 · 拆分循环 · 以管道取代循环
搬移循环
第12章
组织数据(上)
拆分变量 · 字段改名 · 以查询取代派生变量
数据组织
第13章
组织数据(下)
将引用对象改为值对象 · 将值对象改为引用对象 · 以字面常量取代魔法数
数据魔法数
第14章
简化条件逻辑(上)
分解条件表达式 · 合并条件表达式 · 以卫语句取代嵌套条件表达式
条件简化
第15章
简化条件逻辑(下)
以多态取代条件表达式 · 引入特例 · 引入断言
多态断言
第16章
重构API(上)
将查询函数和修改函数分离 · 函数参数化 · 移除标记参数
API参数
第17章
重构API(下)
保持对象完整 · 以查询取代参数 · 以参数取代查询 · 移除设值函数
API完整对象
第18章
处理继承(上)
函数上移 · 字段上移 · 构造函数本体上移 · 函数下移
继承上移
第19章
处理继承(下)
字段下移 · 以子类取代类型码 · 以策略类取代类型码
继承策略
第20章
大型重构(上)
梳理并分解继承体系 · 将过程化设计转化为对象设计
大型重构体系
第21章
大型重构(下)
分离领域与表现 · 提炼继承体系
领域表现
第22章
代码整洁之道概述
整洁代码的含义 · 命名规范 · 函数设计原则
整洁规范
第23章
有意义的命名
名副其实 · 避免误导 · 做有意义的区分 · 使用读得出来的名称
命名清晰
第24章
函数设计(上)
短小 · 只做一件事 · 每个函数一个抽象层级
函数抽象
第25章
函数设计(下)
使用异常替代返回错误码 · 抽离Try/Catch代码块 · 别重复自己
异常DRY
第26章
注释的艺术
注释不能美化糟糕的代码 · 用代码来阐述 · 好注释与坏注释
注释表达
第27章
格式与对象
垂直格式 · 水平格式 · 数据抽象 · 数据、对象的反对称性
格式对象
第28章
错误处理
使用异常而非返回码 · 定义异常类 · 特例模式 · 别返回null值
错误特例
第29章
边界与单元测试
使用第三方代码 · 学习性测试 · 整洁的测试 · F.I.R.S.T原则
边界测试
第30章
类与系统设计
类的组织 · 类应该短小 · 内聚性原则 · 将系统构造与使用分离
系统